dynamics_beam_elements Module



Contents


Interfaces

public interface beam_element_2d

  • private pure function b2d_init(mat, area, moi, nd1, nd2) result(rst)

    Initializes a new [[beam_element_2d]].

    Arguments

    Type IntentOptional Attributes Name
    class(material), intent(in) :: mat

    The material.

    real(kind=real64), intent(in) :: area

    The cross-sectional area.

    real(kind=real64), intent(in) :: moi

    The moment-of-inertia.

    class(node), intent(in) :: nd1

    Node 1 of the element.

    class(node), intent(in) :: nd2

    Node 2 of the element.

    Return Value type(beam_element_2d)

    The new [[beam_element_2d]].

public interface beam_element_3d

  • private pure function b3d_init(mat, area, ixx, iyy, izz, iyz, nd1, nd2, orient) result(rst)

    Constructs a new [[beam_element_3d]] object.

    Arguments

    Type IntentOptional Attributes Name
    class(material), intent(in) :: mat

    The material.

    real(kind=real64), intent(in) :: area

    The cross-sectional area.

    real(kind=real64), intent(in) :: ixx

    The moment of inertia about the element's x-axis (torsional).

    real(kind=real64), intent(in) :: iyy

    The moment of inertia about the element's y-axis.

    real(kind=real64), intent(in) :: izz

    The moment of inertia about the element's z-axis.

    real(kind=real64), intent(in) :: iyz

    The cross-sectional product of inertia.

    class(node), intent(in) :: nd1

    The first node.

    class(node), intent(in) :: nd2

    The second node.

    class(point), intent(in) :: orient

    An orientation node that locates the direction of the element z-axis. The orientation point is measured relative to the first node in the element. Specifically, the element z-axis is assumed to be defined by the location of this point relative to the location of node 1.

    Return Value type(beam_element_3d)

    The new [[beam_element_3d]] object.


Derived Types

type, public, extends(line_element) ::  beam_element_2d

Defines a two-dimensional Bernoulli-Euler beam element.

Read more…

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: area

The element cross-sectional area.

type(material), public :: material

The material.

real(kind=real64), public :: moment_of_inertia

The beam moment of inertia (second moment of area).

type(node), public :: node_1

The first node of the element (s = -1).

type(node), public :: node_2

The second node of the element (s = 1).

Constructor

private pure function b2d_init (mat, area, moi, nd1, nd2)

Initializes a new [[beam_element_2d]].

Type-Bound Procedures

procedure , public :: bending_moment => b2d_bending_moment Function
procedure , public :: constitutive_matrix => b2d_constitutive_matrix Function
procedure , public :: evaluate_shape_function => b2d_shape_function Function
procedure , public :: external_force_vector => le_ext_force_vector Function
procedure , public :: get_dimensionality => b2d_dimensionality Function
procedure , public :: get_dof_per_node => b2d_dof_per_node Function
procedure , public :: get_node => b2d_get_node Function
procedure , public :: get_node_count => b2d_get_node_count Function
procedure , public :: get_node_natural_coordinates => le_get_node_natural_coordinates Function
procedure , public :: get_terminal_nodes => b2d_terminal_nodes Subroutine
procedure , public :: jacobian => b2d_jacobian Function
procedure , public :: length => le_length Function
procedure , public :: mass_matrix => b2d_mass_matrix Function
procedure , public :: rotation_matrix => b2d_rotation_matrix Function
procedure , public :: shape_function_matrix => b2d_shape_function_matrix_2d Function
procedure , public :: shear_force => b2d_shear_force Function
procedure , public :: stiffness_matrix => b2d_stiffness_matrix Function
procedure , public :: strain => le_strain Function
procedure , public :: strain_displacement_matrix => b2d_strain_disp_matrix_2d Function
procedure , public :: stress => le_stress Function

type, public, extends(line_element) ::  beam_element_3d

Defines a three-dimensional Bernoulli-Euler beam element.

Read more…

Components

Type Visibility Attributes Name Initial
real(kind=real64), public :: Ixx

The beam moment of inertia about the element x-axis.

real(kind=real64), public :: Iyy

The beam moment of inertia about the element y-axis.

real(kind=real64), public :: Iyz

The cross-sectional product of inertia.

real(kind=real64), public :: Izz

The beam moment of inertia about the element z-axis.

real(kind=real64), public :: area

The element cross-sectional area.

type(material), public :: material

The material.

type(node), public :: node_1

The first node of the element (s = -1).

type(node), public :: node_2

The second node of the element (s = 1).

type(point), public :: orientation_point

A point used to determine the orientation of the beam in 3D space. The orientation point is measured relative to the first node in the element. Specifically, the element z axis is assumed to be defined by the location of this point relative to the location of node 1.

Constructor

private pure function b3d_init (mat, area, ixx, iyy, izz, iyz, nd1, nd2, orient)

Constructs a new [[beam_element_3d]] object.

Type-Bound Procedures

procedure , public :: bending_moment => b3d_bending_moment Function
procedure , public :: constitutive_matrix => b3d_constitutive_matrix Function
procedure , public :: evaluate_shape_function => b3d_shape_function Function
procedure , public :: external_force_vector => le_ext_force_vector Function
procedure , public :: get_dimensionality => b3d_dimensionality Function
procedure , public :: get_dof_per_node => b3d_dof_per_node Function
procedure , public :: get_node => b3d_get_node Function
procedure , public :: get_node_count => b3d_get_node_count Function
procedure , public :: get_node_natural_coordinates => le_get_node_natural_coordinates Function
procedure , public :: get_terminal_nodes => b3d_terminal_nodes Subroutine
procedure , public :: jacobian => b3d_jacobian Function
procedure , public :: length => le_length Function
procedure , public :: mass_matrix => b3d_mass_matrix Function
procedure , public :: rotation_matrix => b3d_rotation_matrix Function
procedure , public :: shape_function_matrix => b3d_shape_function_matrix_3d Function
procedure , public :: shear_force => b3d_shear_force Function
procedure , public :: stiffness_matrix => b3d_stiffness_matrix Function
procedure , public :: strain => le_strain Function
procedure , public :: strain_displacement_matrix => b3d_strain_disp_matrix_3d Function
procedure , public :: stress => le_stress Function